Risk Signal: Mexican INE Data & Face Validation
Jumio has a number of database check services available for Mexico. These checks allow you to validate Mexican National IDs and personal identifiable information.
This service connects with the Mexican National Electoral Institute (Instituto Nacional Electoral, INE) to validate INE ID numbers, owner information and biometric information. There are 2 services that are available for INE:
-
Data Validation of Voting credential at INE:
-
Verifies that the data registered at INE’s nominal database matches those presented by the user.
-
Validates that the credential is a valid document.
-
-
Biometric Validation of Voting credential at INE:
-
Verifies that the face of the user matches that registered in the INE.
-
Note: The data validation and Biometric validation services both require a direct contract with the INE. Please see your Jumio Sales representative for more information. We work with a partner to directly integrate with INE.
Service Name | Description | Required Fields | Verifiable Fields |
Mexico INE Data Validation | Input is verified against the INE |
|
|
Mexico INE Face Validation | Input is verified against the INE |
|
|
Customer Onboarding
Due to the nature of the integration with INE, we will work with our partner to stand up a dedicated secure infrastructure that is required by the Mexican Government to access INE. Once the contract with INE is signed, our production team will work you and our partner (FIMPE) to start the onboarding process.
Our production team needs the following information:
AWS Region and Stage where Middleware needs to be deployed.
-
Tenant Information:
-
Tenant GUID
-
Tenant Id
-
Tenant Name
FIMPE Middleware Key files(provided by FIMPE):
-
INSTITUTONACIONALELECTORAL_publica.key
-
MW_KEYS_TO_SVBI_PRIVATE_MW_KEY
-
publica.key
-
privada.key
-
FIMPE SVBI Port Number(provided by FIMPE)
The estimated time needed for completion:
-
4-5 days/client to setup the environments
-
2 days/client for the Engineering team to test and certify the setup and functionality.
Required Credentials
Prepared Data: INE Data
Key | Type | Mandatory | Description |
firstName | string | no | |
paternalSurname | string | no | |
maternalSurname | string | no | |
address | Object | no | Only the fields which are mentioned are required |
address.country | |||
string | no | ||
country should be set to “MEX” | |||
id | Object | no | See in next row |
id.idNumber | string | no | CURP ID number # example "XXXX910225XXXXXS09" |
id.Type | string | conditional | ID_CARD |
id.subType | string | no | |
id.issuingDate | string | no | |
id.expiryDate | string | no | |
ine | Object | yes | See in next row |
ine.cic | string | no | CIC number of the elector credential |
ine.ocr | string | yes | OCR number of the elector credential |
ine.issuingNumber | string | yes | Issuing Number - Numeric |
ine.electorKey | string | yes | Elector Key - 18 Characters |
ine.registrationYear | string | no | YYYY |
ine.issuingYear | string | no | YYYY |
Capability Request
{ "firstName": "XXXXX", "paternalSurname": "XXXXXX", "maternalSurname": "XXXXX", "address": { "country": "MEX" }, "id": { "idNumber": "XYZA891218ABCEFG01", "type": "ID_CARD", "subType": "", "issuingDate": "", "expiryDate": "" }, "ine": { "cic": "201112341", "ocr": "0000345678911", <mandatory> "issuingNumber": "02", <mandatory> "electorKey": "ABCDEF12341809C100",<mandatory> "registrationYear": 2008, "issuingYear": 2019 } }
Response Values
Parameter | Type | Note |
id | string | UUID of the capability |
credentials | array(Credential) | |
decision | object | |
decision.type | string |
Possible values:
If curp # is a mismatch decision = REJECT ,risk score 100 else: If elector key, ocr and name is a match, decision = PASS , risk score is 0, else decision=WARNING, risk score is 50 |
decision.details | object | |
decision.details.label | string |
Possible values:
|
data | object | |
data.completeNameMatch | string | MATCH / NOT_MATCH |
data.nationalIdMatch | string | MATCH / NOT_MATCH |
data.ocrMatch | string | MATCH / NOT_MATCH |
data.issuingNumberMatch | string | MATCH / NOT_MATCH |
data.registrationYearMatch | string | MATCH / NOT_MATCH |
data.issuingYearMatch | string | MATCH / NOT_MATCH |
data.electorKeyMatch | string | MATCH / NOT_MATCH |
data.paternalSurnameMatch | string | MATCH / NOT_MATCH |
data.maternalSurnameMatch | string | MATCH / NOT_MATCH |
Credential
Key | Type | Description |
id | string | UUID of credential used |
category | string | category of credential used |
Capability Response
"govtIdVerification": [ { "id": "d1858198-d2f2-4235-97f7-5f9cb088a2ae", "credentials": [ { "id": "21135260-f435-4052-93a7-a943f12d5f2c", "category": "ID" } ], "decision": { "type": "WARNING", "details": { "label": "ALERT" } }, "data": { "completeNameMatch": "NOT_MATCH", "nationalIdMatch": "MATCH", "ocrMatch": "MATCH", "issuingNumberMatch": "NOT_MATCH", "registrationYearMatch": "NOT_MATCH", "issuingYearMatch": "MATCH", "electorKeyMatch": "MATCH", "paternalSurnameMatch": "MATCH", "maternalSurnameMatch": "MATCH" } } ]
Required Credentials
Prepared Data: INE Data with Biometric (Selfie)
Key | Type | Mandatory | Description |
firstName | string | no | |
paternalSurname | string | no | |
maternalSurname | string | no | |
address | Object | no | Only the fields which are mentioned are required |
address.country | |||
string | no | ||
country should be set to “MEX” | |||
id | Object | no | See in next row |
id.idNumber | string | no | CURP ID number # example "XXXX910225XXXXXS09" |
id.Type | string | conditional | ID_CARD |
id.subType | string | no | |
id.issuingDate | string | no | |
id.expiryDate | string | no | |
ine | Object | yes | See in next row |
ine.cic | string | no | CIC number of the elector credential |
ine.ocr | string | yes | OCR number of the elector credential |
ine.issuingNumber | string | yes | Issuing Number - Numeric |
ine.electorKey | string | yes | Elector Key - 18 Characters |
ine.registrationYear | string | no | YYYY |
ine.issuingYear | string | no | YYYY |
Note: Biometric (Selfie) needs to be sent with Prepared Data.
Capability Request
{ "firstName": "XXXXX", "paternalSurname": "XXXXXX", "maternalSurname": "XXXXX", "address": { "country": "MEX" }, "id": { "idNumber": "XYZA891218ABCEFG01", "type": "ID_CARD", "subType": "", "issuingDate": "", "expiryDate": "" }, "ine": { "cic": "201112341", "ocr": "0000345678911", <mandatory> "issuingNumber": "02", <mandatory> "electorKey": "ABCDEF12341809C100",<mandatory> "registrationYear": 2008, "issuingYear": 2019 } }
Response Values
Parameter | Type | Note |
id | string | UUID of the capability |
credentials | array(Credential) | |
decision | object | |
decision.type | string |
Possible values:
If curp is a mismatch and face similarity is <=50 % decision = REJECT , risk score is 100 else: If the elector key, ocr and name is a match with similarity >=85%, decision = PASS , risk score = 0 else decision=WARNING. Risk score = 50 |
decision.details | object | |
decision.details.label | string |
Possible values:
|
data | object | |
data.NameMatch | string | MATCH / NOT_MATCH |
data.faceMatch | string | MATCH / NOT_MATCH |
data.ocrMatch | string | MATCH / NOT_MATCH |
data.issuingNumberMatch | string | MATCH / NOT_MATCH |
data.registrationYearMatch | string | MATCH / NOT_MATCH |
data.issuingYearMatch | string | MATCH / NOT_MATCH |
data.electorKeyMatch | string | MATCH / NOT_MATCH |
data.paternalSurnameMatch | string | MATCH / NOT_MATCH |
data.maternalSurnameMatch | string | MATCH / NOT_MATCH |
data.idNumberMatch | string | MATCH / NOT_MATCH |
Credential
Key | Type | Description |
id | string | UUID of credential used |
category | string | category of credential used |
Capability Response
"biometricVerification": [ { "id": "c0015f7b-0999-4682-a1a6-a10241a01f7c", "credentials": [ { "id": "36b715ee-2822-488d-ac2a-159536645411", "category": "DATA" }, { "id": "adce826e-a43d-45d4-84f7-80e2b917fda1", "category": "SELFIE" } ], "decision": { "type": "REJECTED", "details": { "label": "HIGH_RISK" } }, "data": { "nameMatch": "NOT_MATCH", "faceMatch": "NOT_MATCH", "ocrMatch": "MATCH", "issuingNumberMatch": "NOT_MATCH", "registrationYearMatch": "NOT_MATCH", "issuingYearMatch": "MATCH", "electorKeyMatch": "MATCH", "paternalSurnameMatch": "MATCH", "maternalSurnameMatch": "MATCH", "idNumberMatch": "MATCH" } ] }